// 引入模块
const formidable = require('formidable');
const path = require('path');
const express = require('express');
let app=express();
app.listen(3000);





// app.use( express.urlencoded({extended:true}))
// app.use(express.json())


app.post("/uploads" , (req,res)=>{

    // console.log(req.body);
    //{} 文件上传使用的是 multipart/form-data  这种形式不能直接被接收
    // 需要使用中间件：formidable

    // 2、想要把文件上传到哪里去：准备一个文件上传目录(临时上传目录)
    // formidable({uploadDir:临时文件路径})
    let form=formidable({
        uploadDir:path.join(__dirname,"./tempdir") ,//设置文件的临时上传目录(文件相关操作用绝对路径)
    })


    // 3、解析文件信息
    // form.parse(请求参数,(错误参数,其他信息,文件信息)=>{})

    form.parse(req,(err,fileds,files)=>{

        // console.log(err); node的回调函数中总是错误参数优先
        if(err){
            res.send("出错了")
            return
        }


        // console.log(fileds);//{ username: 'abc', password: '12' }
        // console.log(files);//文件信息

        res.send(files)
        /* 
        {
            "touxiang": {
                "size": 14915,
                "filepath": "C:\\Users\\IBM\\Desktop\\软件学院0906\\day13express中间件\\代码\\文件上传\\tempdir\\4d4e667a124697ef7a941c800",
                "newFilename": "4d4e667a124697ef7a941c800",
                "mimetype": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
                "mtime": "2022-04-01T06:13:42.516Z",
                "originalFilename": "新建 DOCX 文档 - 副本.docx"
            }
        } */

    })



 

})














// 1、前端发送文件上传的请求